var http = require('http');
var express = require("express");
var app = express();
var server = http.createServer(app);
var io = require('socket.io').listen(server);

//数据操作
var autoMsgDAL = require('../DAL/autoMsgDAL');

function socketserver(ports) {
	server.listen(ports);

	console.log('socket服务器已经启动.');

	//连接状态
	io.on('connection', function(socket) {
		//发送信息
		//第一个参数是发送和接收信息的group组，第二个参数数据对象数组
		socket.emit('init', {
			hello: '亲爱的客户您好，有什么可以帮助您？'
		});
		//接收信息
		//第一个参数是发送和接收信息的group组，第二个参数是data是回调函数返回的数据
		socket.on('connection_result', function(data) {
			console.log(data.result);
		});

		var sendmsg;

		//接收消息		
		socket.on('message', function(data) {
			var question = data.msg;
			console.log('问题：' + question);			
			
            //执行完数据查询之后再进行消息发送
			autoMsgDAL.getAnswerByQuestion(question, function(result) {
				sendmsg = result;
				console.log('系统机器人回答：' + sendmsg);
				socket.emit('answer', {
					sysname: '客服机器人',
					answer: sendmsg
				});
			});
		});

		//监听断开
		socket.on('disconnect', function(data) {
			console.log('断开', data);			
		})

	});

}

module.exports = socketserver;